package mlz.b_arrayList;
/*
## ArrayList应用案例一

需求：现在假如购物车中存储了如下这些商品:Java入门，宁夏枸杞，黑枸杞，人字拖，特级构杞，构杞子。
现在用户不想买构杞了，选择了批量删除，请完成该需求。

需求分析
1.可以使用ArrayList集合存储所有元素,也就是存储商品信息
2.遍历集合中的每个元素,只要是这些元素中包含了"枸杞"这两个字的元素,则进行删除
3.输出集合看是否已经成功删除带有"枸杞"两个字的全部元素


解决方式一: 每次删除完元素之后,让控制循环变量的值 i--
解决方式二: 从集合的末尾开始进行倒着遍历并且作删除
 */

import java.util.ArrayList;

public class ArrayListWork01 {
    public static void main(String[] args) {
        //1.可以使用ArrayList集合存储所有元素,也就是存储商品信息
        ArrayList<String> list = new ArrayList<>();

        list.add("Java入门");//0
        list.add("宁夏枸杞");//1
        list.add("黑枸杞");//2
        list.add("人字拖");//3
        list.add("特级枸杞");//4
        list.add("枸杞子");//5
        System.out.println(list);//[Java入门, 宁夏枸杞, 黑枸杞, 人字拖, 特级枸杞, 枸杞子]

        //2.遍历集合中的每个元素,只要是这些元素中包含了"枸杞"这两个字的元素,则进行删除
        //方式一实现:
        /*for (int i = 0; i < list.size(); i++) {
            //获取集合中的每个元素
            String ele = list.get(i);
            //判断这个数据中是否包含枸杞
            if (ele.contains("枸杞")){
                //如果包含则直接从集合中删除这个数据
                list.remove(ele);
                //让控制循环变量的值 回到原来的位置上继续做判断
                i--;
            }
        }*/


        //方式二实现:
        //起始位置: 集合的最后一位 -> list.size() -> 6 - 1
        for (int i = list.size() - 1; i >= 0; i--) {
            //获取集合中的元素
            String ele = list.get(i);
            //判断这个元素是否包含枸杞
            if(ele.contains("枸杞")){
                //删除
                list.remove(ele);
            }
        }
        System.out.println(list);




    }
}























